package de.szut.interfaces;

import de.szut.entity.Country;
import de.szut.entity.Points;
import de.szut.logic.ModifierStore;

import java.util.ArrayList;

/**
 * Created by Dmitrij on 27.09.13.
 */
public interface ILogic {

    /**
     * Should be called after every interval
     */
    public void onCalculate();

    /**
     * Infects a country by infecting a single PC for every OS. Should be called only once
     * @param newInfectedCountries - ArrayList of countries to infect
     */
    public void infectCountries(ArrayList<Country> newInfectedCountries);

    public void infectCountry(Country infectedCountry);

    public void setGameEventListener(GameEventListener listener);

    public Points getPointsForCurrentUser();

    public ModifierStore getModifierStore();

}
